export default {};
/* 
泛型接口
口诀：在不确定的地方，就放泛型
*/

// 泛型可以有默认值，一般都使用在泛型接口上
interface Res<T = null> {
  msg: string;
  code: number;
  result: T;
}

// 后台返回的数据，其中result可能是 数组/对象/null
const res: Res<[]> = {
  msg: '成功',
  code: 200,
  result: [],
};

// 泛型默认值设置null，那我就可以直接写Res，不传 Res<null> 了
const res1: Res = {
  msg: '成功',
  code: 200,
  result: null,
};

/* 
用来描述对象的写法
1. object，建议使用, ts自身的 object类型，最符合
2. Object，算是人为封装，既然是封装的，就暂时不使用了
3. {}，更像是在描述一个 空对象,不太符合语义化
*/
const res2: Res<{}> = {
  msg: '成功',
  code: 200,
  result: {},
};
